#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>

int main(int argc, char* argv[], char* env[])
{   
    pid_t id = fork();
    if(id < 0)
    {
        return 1;
    }
    if(id == 0)
    {
         extern char** environ;
         for(int i = 0; environ[i]!=NULL; i++)
         {
              printf("子进程:pid(%d):env[%d]:%s\n", getpid(), i, env[i]);
         }
    }
    else if(id > 0)
    {
         extern char** environ;
         for(int i = 0; environ[i]!=NULL; i++)
         {
              printf("父进程:pid(%d):env[%d]:%s\n", getpid(), i, env[i]);
         }
    }
   // for(int i = 0; env[i] != NULL; i++)
   // {
   //     printf("pid(%d):env[%d]:%s\n", getpid(), i, env[i]);
   // }
//    printf("%s\n", getenv("PATH"));
//      printf("Hello cccccccccccccccccccccccccccccccccc\n");
//    if(argc != 2)
//    {
//        printf("touch: missing file operand\n");
//        return 1;
//    }
//    FILE* fp = fopen(argv[1], "w");
//    if(fp != NULL)
//    {
//        fclose(fp);
//    }

//    if(argc != 4)
//    {
//        printf("Usage: %s op[-add|sub|mul|div] d1 d2\n", argv[0]);
//        return 1;
//    }
//    int x = atoi(argv[2]);
//    int y = atoi(argv[3]);
//    int result = 0;
//    if(strcmp(argv[1], "-add") == 0)
//    {
//        result = x + y;
//        printf("%d + %d = %d\n", x, y, result);
//    }
//    else if(strcmp(argv[1], "-sub") == 0)
//    {
//        result = x - y;
//        printf("%d - %d = %d\n", x, y, result);
//    }
//    else if(strcmp(argv[1], "-mul") == 0)
//    {
//        result = x * y;
//        printf("%d * %d = %d\n", x, y, result);
//    }
//    else if(strcmp(argv[1], "-div") == 0)
//    {
//        if(0 == y)
//        {
//            printf("%d/%d  = div error\n", x, y);
//        }
//        result = x / y;
//        printf("%d / %d = %d\n", x, y, result);
//    }
//    else
//    {
//        printf("Use error, you should abababa");
//    }
//    int i = 0;
//    for(i = 0; i < argc; i++)
//    {
//        printf("%d: %s\n", i, argv[i]);
//    }
    return 0;
}
